package com.ybkj.daijia.server.mc;

import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 乘客账户记录
 *
 * @author Administrator
 */
public class PassengerAccount implements Serializable {

    public static final String OPERATING_SYS = "系统";// 系统

    public static final String DIFFERENT_POSITIVE = "Positive";// >0

    public static final String DIFFERENT_NEGATIVE = "Negative";// <0

    public static final int ORDER_TYPE_DAIJIA = 0;
    public static final int ORDER_TYPE_ZHUANCHE = 1;
    public static final int ORDER_TYPE_PAOTUI = 2;
    public static final int ORDER_TYPE_ZUCHE = 3;
    public static final int ORDER_TYPE_FREIGHT = 4;
    public static final int ORDER_TYPE_ZHUANXIAN = 5;
    public static final int ORDER_TYPE_GASSTATION = 6;
    private static final long serialVersionUID = 1L;
    private Long id;
    private Long passenger_id;        //乘客Id
    private String passenger_phone;    //乘客电话
    private String passenger_name;    //乘客姓名
    private Long enterprise_id;        //企业Id
    private String enterprise_name;    //企业姓名
    private Long introducer_id;        //被推荐人id
    private Double money;            //操作金额
    private Double afterDrawMoney;  //操作后可提现金额
    private Double afterNoDrawMoney;//操作后不可提现金额
    private Double afterFrozenMoney;//操作后冻结金额
    private String orderNo;            //订单号
    private Long orderId;            //订单Id
    private Integer orderType;        //订单类型0代驾,1专车,2跑腿,3租车
    private String payType;            //支付类型
    private String details;            //明细
    private String operator;        //操作人
    private String tradeNo;            //流水号
    private Long created;
    private Long updated;
    private Integer version;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getPassenger_id() {
        return passenger_id;
    }

    public void setPassenger_id(Long passenger_id) {
        this.passenger_id = passenger_id;
    }

    public String getPassenger_phone() {
        return passenger_phone;
    }

    public void setPassenger_phone(String passenger_phone) {
        this.passenger_phone = passenger_phone == null ? null : passenger_phone.trim();
    }

    public String getPassenger_name() {
        return passenger_name;
    }

    public void setPassenger_name(String passenger_name) {
        this.passenger_name = passenger_name;
    }

    public Long getEnterprise_id() {
        return enterprise_id;
    }

    public void setEnterprise_id(Long enterprise_id) {
        this.enterprise_id = enterprise_id;
    }

    public String getEnterprise_name() {
        return enterprise_name;
    }

    public void setEnterprise_name(String enterprise_name) {
        this.enterprise_name = enterprise_name;
    }

    public Double getMoney() {
        return money;
    }

    public void setMoney(Double money) {
        this.money = money;
    }

    public Double getAfterDrawMoney() {
        if (null == afterDrawMoney) {
            return 0D;
        }
        return afterDrawMoney;
    }

    public void setAfterDrawMoney(Double afterDrawMoney) {
        this.afterDrawMoney = afterDrawMoney;
    }

    public Double getAfterNoDrawMoney() {
        if (null == afterNoDrawMoney) {
            return 0D;
        }
        return afterNoDrawMoney;
    }

    public void setAfterNoDrawMoney(Double afterNoDrawMoney) {
        this.afterNoDrawMoney = afterNoDrawMoney;
    }

    public Double getAfterFrozenMoney() {
        return afterFrozenMoney;
    }

    public void setAfterFrozenMoney(Double afterFrozenMoney) {
        this.afterFrozenMoney = afterFrozenMoney;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo == null ? null : orderNo.trim();
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public Integer getOrderType() {
        return orderType;
    }

    public void setOrderType(Integer orderType) {
        this.orderType = orderType;
    }

    public String getPayType() {
        return payType;
    }

    public void setPayType(String payType) {
        this.payType = payType == null ? null : payType.trim();
    }

    public String getDetails() {
        return details;
    }

    public void setDetails(String details) {
        this.details = details == null ? null : details.trim();
    }

    public String getOperator() {
        return operator;
    }

    public void setOperator(String operator) {
        this.operator = operator == null ? null : operator.trim();
    }

    public String getTradeNo() {
        return tradeNo;
    }

    public void setTradeNo(String tradeNo) {
        this.tradeNo = tradeNo == null ? null : tradeNo.trim();
    }

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    public Long getCreated() {
        return created;
    }

    public void setCreated(Long created) {
        this.created = created;
    }

    public String getCreatedStr() {
        return new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date(created));
    }

    public Long getUpdated() {
        return updated;
    }

    public void setUpdated(Long updated) {
        this.updated = updated;
    }

    public Long getIntroducer_id() {
        return introducer_id;
    }

    public void setIntroducer_id(Long introducer_id) {
        this.introducer_id = introducer_id;
    }


    public String getPayTypeStr() {
        if (null != payType) {
            if (payType.equals("RECHARGE_TYPE_ADMIN")) {
                return "后台充值";
            } else if (payType.equals("PAYTYPE_ADMIN")) {
                return "后台扣费";
            } else if (payType.equals("RECHARGE_TYPE_ACTIVITY")) {
                return "活动返现";
            } else if (payType.equals("RECHARGE_TYPE_ALIPAY")) {
                return "支付宝充值";
            } else if (payType.equals("RECHARGE_TYPE_WX")) {
                return "微信充值";
            } else if (payType.equals("RECHARGE_GIFT_CARD")) {
                return "礼品卡兑换";
            } else if (payType.equals("CASH_MODIFY")) {
                return "修改订单金额";
            } else if (payType.equals("PAYTYPE_CASH")) {
                return "现金支付";
            } else if (payType.equals("PAYTYPE_SIGN")) {
                return "签单支付";
            } else if (payType.equals("PAYTYPE_BALANCE")) {
                return "余额支付";
            } else if (payType.equals("PAYTYPE_ALIPAY")) {
                return "支付宝支付";
            } else if (payType.equals("PAYTYPE_WEIXIN")) {
                return "微信支付";
            } else if (payType.equals("PAYTYPE_COUPON")) {
                return "优惠券支付";
            } else if (payType.equals("RECHARGE_TYPE_REBATE")) {
                return "推荐提成";
            } else if (payType.equals("RECHARGE_TYPE_RETURN")) {
                return "订单退费";
            } else if (payType.equals("RECHARGE_TYPE_CANCEL_RETURN")) {
                return "销单退费";
            } else if (payType.equals("RECHARGE_TYPE_UNION")) {
                return "银联充值";
            } else if (payType.equals("PAYTYPE_UNIONPAY")) {
                return "银联支付";
            } else if (payType.equals("RECHARGE_TYPE_BESTPAY")) {
                return "翼支付充值";
            } else if (payType.equals("PAYTYPE_BESTPAY")) {
                return "翼支付支付";
            }

            return payType;
        } else {
            return "-";
        }
    }

    public enum PayType {
        /**
         * 后台充值
         */
        RECHARGE_TYPE_ADMIN,
        /**
         * 后台扣取
         */
        PAYTYPE_ADMIN,
        /**
         * 活动返现
         */
        RECHARGE_TYPE_ACTIVITY,
        /**
         * 支付宝充值
         */
        RECHARGE_TYPE_ALIPAY,
        /**
         * 微信充值
         */
        RECHARGE_TYPE_WX,
        /**
         * 银联充值
         */
        RECHARGE_TYPE_UNION,
        /**
         * 翼支付充值
         */
        RECHARGE_TYPE_BESTPAY,
        /**
         * 礼品卡兑换
         */
        RECHARGE_GIFT_CARD,
        /**
         * 修改订单金额
         */
        CASH_MODIFY,
        /**
         * 现金支付
         */
        PAYTYPE_CASH,
        /**
         * 签单支付
         */
        PAYTYPE_SIGN,
        /**
         * 余额支付
         */
        PAYTYPE_BALANCE,
        /**
         * 支付宝支付
         */
        PAYTYPE_ALIPAY,
        /**
         * 银联支付
         */
        PAYTYPE_UNIONPAY,
        /**
         * 微信支付
         */
        PAYTYPE_WEIXIN,
        /**
         * 翼支付支付
         */
        PAYTYPE_BESTPAY,
        /**
         * 优惠券支付
         */
        PAYTYPE_COUPON,
        /**
         * 推荐提成
         */
        RECHARGE_TYPE_REBATE,
        /**
         * 返还余额
         */
        RECHARGE_TYPE_RETURN,
        /**
         * 销单退款
         */
        RECHARGE_TYPE_CANCEL_RETURN
    }

}
